#include <iostream>

class A {
public:
     void func(){
         std::cout << "in no const fun" << std::endl;
    }
     void func()const{
         std::cout << "in const fun" << std::endl;
     }
};

void nfunc(A&) {
    std::cout << "in common no const fun" << std::endl;
}
void nfunc(const A&) {
    std::cout << "in common  const fun" << std::endl;
}

int main()
{
    A a;
    const A ac;

    a.func();//in no const fun
    ac.func();//in const fun
    nfunc(a); //in common no const fun
    nfunc(ac); // in common  const fun

    return {};
}

// 以前以为都是优先调用const版的。。结果非const对象，在调用成员方法或更直接的匹配参数时，都是直接进了非const版的。
